PHLEGM v8 Checkpoint 12 - FreeBASIC Identifier Validator Fix
Timestamp: 2026-1007-1621-3883

Source baseline:
- PHLEGM-v8-Developer-Distribution-Window-Vulkan-Recovery-11-2026-1007-1608-3644.zip
- PHLEGM-v8-Compiler-Logs-2026-1007-1614-0527.zip

Observed failure:
- The Windows build stopped before FreeBASIC compilation in Validate-FreeBasicIdentifiers.ps1.
- `Type Name As ...` aliases and procedure-pointer typedefs were incorrectly treated as open `Type ... End Type` records.
- Once falsely inside a record, ordinary source statements such as If, Declare, Case, Return, Extern, and End were misclassified as field identifiers.

Checkpoint 12 changes:
- Added Get-FBRecordDeclaration so scalar/opaque/procedure-pointer Type aliases terminate on their declaration line.
- Record declarations are recognized only when the parser is not already inside a Type/Union/Enum block.
- Added Test-FBFieldIdentifier: UDT/Union field names no longer use the declaration reserved-word hard-fail set; builtin/library-name reuse remains warning-only.
- Added parser regression probes for a scalar alias, function-pointer typedef, normal record block, and a `type As ULong` record field.
- No emulator, graphics, host, ABI, tree/archive, CHR-font, PPU/APU, FPS/FS, or packaging behavior was changed.

Validation performed in this checkpoint environment:
- Equivalent full-source identifier audit: 82 source files, 0 reserved-word hard failures, 2 warning-only builtin-name fields (`left`, `right`).
- Text newline policy: PASS (CRLF except *.sh=LF).
- JSON parse: PASS (14 files).
- bash -n: PASS (3 shell scripts).
- Native FreeBASIC/PowerShell execution is not available in this environment; the next hands-on builder run should now reach the compiler stage instead of stopping in the identifier validator.
